var upload_flag=false;
var commit_flag=false;
var path="";
window.onbeforeunload=function(){
	var ajax=new XMLHttpRequest();
	ajax.open("get", "./TestServlet", true);
	ajax.send();
};
window.onunload=function(){
	var ajax=new XMLHttpRequest();
	ajax.open("get", "./TestServlet", true);
	ajax.send();
};

function fileSelected() { //文件选择更改时调用的事件
	var file = document.getElementById('fileToUpload').files[0]; //获得文件上传信息
	if (file) { //如果用户选择了文件（没有选择的话，file就是null或是undefined，这样可以判断）
		var fileSize = 0; //文件大小
		if (file.size > 1024 * 1024) //如果文件大小大于1MB
			fileSize = (Math.round(file.size * 100 / (1024 * 1024)) / 100)
					.toString()
					+ 'MB'; //转换文件大小并以MB单位显示
		else
			//否则
			
			fileSize = (Math.round(file.size * 100 / 1024) / 100).toString()
					+ 'KB'; //否则用KB单位显示
		document.getElementById('fileName').innerHTML = ' ' + file.name; //显示文件名信息
		document.getElementById('fileSize').innerHTML = ' ' + fileSize; //显示文件大小信息
		document.getElementById('fileType').innerHTML = ' ' + file.type; //显示文件MIME信息
	}
}

function uploadFile() { //点击上传按钮时的时间
	var fd = new FormData(); //FormData是Html5的新增类
	fd.append("file", document.getElementById('fileToUpload').files[0]); //向表单数据添加文件主体
	var file = document.getElementById('fileToUpload').files[0]; //获得文件主体
	var xhr = new XMLHttpRequest(); //初始化ajax请求
	xhr.upload.addEventListener("progress", uploadProgress, false); //HTML5的新的事件，上传进度改变时，只能在有文件上传的情况下调用
	xhr.addEventListener("load", uploadComplete, false); //老事件，上传完成后
	xhr.addEventListener("error", uploadFailed, false); //出错时
	xhr.addEventListener("abort", uploadCanceled, false); //中断时
	var caption=document.getElementById("caption").value; //标题（和文件上传无关紧要）
	fd.append("filename", file.name); //文件名添加到表单数据
	fd.append("filesize", file.size); //文件尺寸添加到表单数据
	fd.append("filetype", file.type); //MIME添加到表单数据
	fd.append("caption", caption); //标题添加到表单数据
	fd.append("username",username);
	xhr.open("POST", "FileUpload",true); //准备上传
	//xhr.setRequestHeader("Content-Type", "multipart/form-data"); //这句千万不能有！！！我也不知道为什么……
	xhr.send(fd); //发出请求
}

function uploadProgress(evt) {
	if (evt.lengthComputable) {
		var percentComplete = Math.round(evt.loaded * 100 / evt.total);
		document.getElementById('progressNumber').innerHTML = percentComplete
				.toString()
				+ '%';
	} else {
		document.getElementById('progressNumber').innerHTML = "<font color=\"red\">文件上传错误！</font>";
	}
}

function uploadComplete(evt) {
	/* This event is raised when the server send back a response */
	//alert(evt.target.responseText);
	document.getElementById('progressNumber').innerHTML = "100%";
	upload_flag = true;
	path=evt.target.responseText;
	alert("上传完成，现在您可以进行数据提交了！");
}

function uploadFailed(evt) {
	alert("文件上传错误！");
	document.getElementById('progressNumber').innerHTML = "<font color=\"red\">文件上传错误！</font>";
}

function uploadCanceled(evt) {
	alert("文件上传被取消！");
	document.getElementById('progressNumber').innerHTML = "<font color=\"red\">文件上传取消！</font>";
}

function commit_file() {
	if(upload_flag==false){
		alert("请先上传再提交！");
		return ;
	}
	var caption=document.getElementById("caption").value;
	var ajax=new XMLHttpRequest();
	ajax.onreadystatechange=function(){
		if(ajax.readyState==4 && ajax.status==200){
			if(ajax.responseText=="succes"){
				alert("提交成功，您可以继续上传更多的文件！");
				document.getElementById("caption").value="";
				document.getElementById("fileToUpload").value="";
				document.getElementById("fileName").innerHTML="未选择文件";
				document.getElementById("fileSize").innerHTML="未选择文件";
				document.getElementById("fileType").innerHTML="未选择文件";
				document.getElementById("progressNumber").innerHTML="0%";
			}
		}
	};
	ajax.open("POST", "./FileRegister", true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send("caption="+caption+"&username="+username+"&path="+path);
}

function unload(){
	alert("");
}
